package com.design;

import java.util.ArrayList;
import java.util.List;

/**
 * 历史记录管理
 */
public class HistoryManager {
    private List<DocumentMemento> historyList=new ArrayList<>();
    /**
     * 添加历史记录
     * @param memento 历史记录
     */
    public void addHistory(DocumentMemento memento) {
        historyList.add(memento);
    }

    /**
     * 获取历史记录
     */
    public DocumentMemento getHistory(int index) {
        if(index<0||index>=historyList.size()) {
            throw new RuntimeException("索引"+index+"超出历史记录范围");
        }
        return historyList.get(index);
    }
    /**
     * 获取历史记录数量
     */
    public int size() {
        return historyList.size();
    }
    /**
     * 打印历史记录
     */
    public void historyList(){
        for(int i=0;i<historyList.size();i++) {
            DocumentMemento documentMemento = historyList.get(i);
            System.out.println("历史记录"+i+":"+documentMemento.getTime()+"，内容为："+documentMemento.getContent());
        }
    }
}
